Personal computers connecting to networks through the public switched telephone system (PSTN) typically use a modem to dial-up a network connection through analog telephone lines. These client, or end user, modems transmit data signals converted to digital source through an analog channel through a network. Due to the increase in data, voice, and facsimile traffic over the telecommunications infrastructure, methods to increase the digital and analog transfer rates through modems over telephone lines are extremely useful and necessary to adhere to International Telecommunication Union (ITU) standards. The Telecommunication Standardization Sector of the ITU (ITU-T) adopted V.34 Recommendation in 1994, which is incorporated herein, to define modem operating speeds rom 28.8 kilobyte per second (kbps) up to 33.6 kbps. However, data transfer rates are limited over the PSTN. In modems built to V.34 standards of the International Telecommunications Union (ITU), and all previous voice-band modem standards, carrier-modulated quadrature amplitude modulation (QAM) is used to quantize the analog signals using u-law (or A-law for some standards outside of the U.S.) pulse code modulation (PCM) codecs. In such a system, the carrier frequency and symbol rate are chosen to match the channel, not the codec. However, in many cases there is a direct digital connection upstream of the analog client modem between a central office (CO) of the PSTN and a server modem on a digital network. PCM modems are built to take advantage of networks used by internet service providers or others connected to the PSTN through a digital connection, such as T1 in the United States and E1 in Europe. PCM modems use either standards for “PCM downstream” modulation, as described in ITU V.90, or “PCM upstream, as described in ITU V.92 recommendations. A connection between a client modem on a local loop of the PSTN and a connection on the digital network can be referred to as a “PCM channel”.
In PCM downstream, data is transmitted in PCM mode downstream from a central office to an end user's analog modem, i.e. from server to client. The digital PCM modem at the server transmits over a digital network in eight bit digital words called octets that correspond to different central office codec output levels. At the client modem's central office, the octets are converted to analog levels which are transmitted over an analog loop. The client PCM modem then converts the analog levels back to digital signals, or pulse code amplitude (PAM) signals, and into equalized digital levels. The equalized digital levels are ideally mapped back into the originally transmitted octets that the octets represent.
When using PCM downstream modulation, the client modem synchronizes to the central office codec and tries to determine exactly which PCM sample was transmitted in each sample. In codecs throughout the world, the codec clock is 8000 Hz. Since there are 255 different μ-law levels and 256 different A-law levels, the data rates could go as high as nearly 64 kbps (8 bits/sample at 8000 samples/second). Practically, because the smallest levels are often too small to distinguish and because of regulatory power limits on the transmit signal, the highest data rate is listed as 56 kbps although even that is usually higher than what most channels will support. In PCM downstream, the client modem must implement an equalizer to undo the effects of intersymbol interference caused by the channel (the telephone line plus the analog front-end of the codec and client modems) in order to recover the PCM levels.
In PCM upstream modulation, the client modem transmits analog levels to the digital server modem over an analog loop. The analog levels are modified by the channel characteristics of the analog loop. The modified levels are quantized to form octets by a codec in the central office. In PCM upstream, the channel comes before the codec further limiting the highest possible data rate. The codec then transmits the octets to the PCM server modem over the digital network. At the server modem, the levels transmitted by the client are demodulated from the octets, thereby recovering the data sent from the client modem.
If the client modem were simply to transmit PCM levels, the channel would distort the levels so that when it reached the codec, they would not resemble the transmitted levels at all. The server modem is not able to equalize the receive signals until after the codec and therefore can not limit the effect of quantization noise. In order to take advantage of the PCM codec in the upstream direction, the client modem must implement an equalizer in the transmitter to undo the effects of intersymbol interference.
Some patents in the field of PCM upstream transmissions include the following: U.S. Pat. No. 6,173,015 B1, DEVICE AND METHOD FOR PRECODING DATA SIGNALS FOR PCM TRANSMISSION, that teaches precoding a sequence of analog levels transmitted over an analog channel, which modifies the transmitted analog levels, to a quantization device that includes a mapping device for mapping data bits to be transmitted to a sequence of equivalence classes, a constellation point selector interconnected to the mapping device which selects a constellation point in each equivalence class to represent the data bits to be transmitted and which transmits a level that produces the selected constellation point at an input to the quantization device; U.S. Pat. No. 6,181,752 B1, DEVICE AND METHOD FOR DETECTING PCM UPSTREAM DIGITAL IMPAIRMENTS IN A COMMUNICATION NETWORK, that teaches detecting digital impairments affecting an upstream pulse code modulation channel in a digital communications network by receiving a random sequence of digital values selected from a constellation of digital values transmitted over the upstream PCM channel of the digital communications network, establishing distributions of the received digital values, and deriving from the distributions the types of robbed bit signaling and digital loss affecting the upstream PCM channel of the digital communication network for each time interval; U.S. Pat. No. 6,198,776 B1, DEVICE AND METHOD FOR PRECODING DATA SIGNALS FOR PCM TRANSMISSION, that teaches a transmitter for transmitting a sequence of analog levels over an analog channel to a quantization device, wherein the analog channel modifies the transmitted analog levels; U.S. Pat. No. 6,266,376 B1, SYSTEM AND METHOD FOR ADJUSTING PCM DATA FRAMES FOR ROBBED BIT SIGNALING IN A TELEPHONE NETWORK, that teaches shifting the relative phases of a PCM data frame and a network RBS frame by one or more symbols to determine whether or not RBS is present; and U.S. Pat. No. 6,201,836 B1, METHOD AND APPARATUS FOR COMBINING A TRELLIS CODE SCHEME WITH A PRE-CODING SCHEME FOR DATA SIGNALS, that teaches a system that receives input bits from a user that define an equivalence class which has at least one constellation point, wherein one of the constellation points in the equivalence class is chosen to represent an output of a channel and a redundancy bit is calculated from the output of the channel and is used to define a next equivalence class for the system.
Recommendation V.92 states that the convolutional encoders from Recommendation V.34 shall be used for V.92. ITU-T Recommendation V.34 are standards for a modem operating at data signaling rates of up to 33,600 bits/s for use on the general switched telephone network and on leased point-to-point 2-wire telephone type circuits. The standard utilizes quadrature amplitude modulation for each channel with synchronous line transmission at selectable symbol rates including the mandatory rates of 2400, 3000, 3200 symbols/s and the optional rates of 2743, 2800 and 3429 symbols/s. The standard may use trellis coding for all data signaling rates. Trellis encoding is a method for improving noise immunity using a convolutional coder to select a sequence of subsets in a partitioned signal constellation. The trellis encoders used in the ITU recommendation are used in a feedback structure where the inputs to the trellis encoder are derived from the signal points.
Trellis coded modulation (TCM) is one of the coding standards recommended under the V.34 modem communications standard. Trellis codes using lattices of dimensions larger than two have been constructed and have several advantages. Two dimensional (2D) symbols are grouped in pairs to form four-dimensional (4D) symbol intervals. Multidimensional trellis code signals as a basis for signal constellations are a theoretical concept, since, in practice, multidimensional signals are transmitted as sequences of one or two dimensional signals. Doubling the constellation size reduces the minimum distance within the constellation, and this reduction has to be compensated for by the code before any coding gain can be achieved. Using a 4D signal set causes the constituent 2D constellations to be expanded by a factor of only square root of two, having half a bit of redundancy per 2D constellation.
The decoding operation comprises finding the correct path through the trellis that most closely represents the received binary sequence. The decoder finds a path for the received binary sequence that has the minimum Euclidian distance from the received sequence. The iterative procedure accomplishing the decoding is the Viterbi algorithm. The algorithm uses forward dynamic programming to select the best, or minimum distance, path through a trellis. At each node, in the trellis, the only path retained is the best path, therefore limiting the number of retained paths at any time instant to the total number of trellis nodes at that time.
There are a number of factors that limit the PCM upstream data rate more than the PCM downstream data rate and provide additional challenges. Regulatory limits on the client modem transmit power mean that the higher the upstream channel attenuation, the lower the upstream data rate. In the downstream direction, only the signal-to-noise ratio (SNR) limits downstream performance. The echo from the downstream signal is added before the codec. Even a perfect echo canceller in the server modem can not remove the quantization noise caused by the echo. The equalizer in the client transmitter can not continually adapt to changing channel conditions as can the receive equalizer used for PCM downstream. The only way to adapt the transmit equalizer in V.92 is for the server to notify the client through a rate renegotiation. The timing recovery done by the client modem in the upstream direction is more difficult that in the downstream direction.
Due to these and other problems in PCM upstream transmissions, the levels transmitted by the client PCM modem are modified. Since these modified levels are quantized to form octets by the codec, and not the levels that are actually transmitted, it can be difficult for the server modem to accurately determine from the octets the data being transmitted by the client modem.
Therefore, a need exists for a device and method for undoing the negative effects of the channel and network interferences with PCM upstream transmissions.